package com.cntcdt.api.db.model.base;

import java.io.Serializable;
import java.sql.ResultSet;
import java.util.Date;

/**
 * 这是cdt_alipay_zhima_statistic的数据传输对象基类,直接与表对应<br>
 */
public abstract class AlipayZhimaStatisticModelBase  implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 属性:id<br>
     */
    private Integer id = 0;
    /**
     * 属性:上线机柜数量<br>
     * 含义:上线机柜数量<br>
     */
    private Integer deviceCnt = 0;
    /**
     * 属性:芝麻免押金用户<br>
     * 含义:芝麻免押金用户<br>
     */
    private Integer zhimaUserCnt = 0;
    /**
     * 属性:支付宝充值押金方式的用户数<br>
     * 含义:支付宝充值押金方式的用户数<br>
     */
    private Integer alipayUserCnt = 0;
    /**
     * 属性:微信用户数<br>
     * 含义:微信用户数<br>
     */
    private Integer wxUserCnt = 0;
    /**
     * 属性:addTime<br>
     */
    private Date addTime = new Date();
    /**
     * 属性:统计的日期<br>
     * 含义:统计的日期<br>
     */
    private Date statisticDate = new Date();
    /**
     * 属性:扣款失败数<br>
     * 含义:扣款失败数<br>
     */
    private Integer rentPayFailCnt = 0;
    /**
     * 属性:扣款失败的金额<br>
     * 含义:扣款失败的金额<br>
     */
    private Float rentPayFailMoney;

    /**
     *  默认构造方法,构造一个默认的AlipayZhimaStatisticModelBase对象
     */
    public AlipayZhimaStatisticModelBase(){
    }

    /**
     *  构造函数
     *  @param rs 数据库查询结果集
     */
    public AlipayZhimaStatisticModelBase(ResultSet rs){
           try{
               this.id = rs.getInt("id");
               this.deviceCnt = rs.getInt("deviceCnt");
               this.zhimaUserCnt = rs.getInt("zhimaUserCnt");
               this.alipayUserCnt = rs.getInt("alipayUserCnt");
               this.wxUserCnt = rs.getInt("wxUserCnt");
               this.addTime = rs.getDate("addTime");
               this.statisticDate = rs.getDate("statisticDate");
               this.rentPayFailCnt = rs.getInt("rentPayFailCnt");
               this.rentPayFailMoney = rs.getFloat("rentPayFailMoney");
           }catch(Exception e) {
              e.printStackTrace(); 
           }
    }


    /**
     * 设置属性id<br>
     * @param id 待设置的属性id的值
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取属性id<br>
     * @return 属性id的值
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置属性上线机柜数量<br>
     * 含义:上线机柜数量<br>
     * @param deviceCnt 待设置的属性上线机柜数量的值
     */
    public void setDeviceCnt(Integer deviceCnt) {
        this.deviceCnt = deviceCnt;
    }

    /**
     * 获取属性上线机柜数量<br>
     * 含义:上线机柜数量<br>
     * @return 属性上线机柜数量的值
     */
    public Integer getDeviceCnt() {
        return deviceCnt;
    }

    /**
     * 设置属性芝麻免押金用户<br>
     * 含义:芝麻免押金用户<br>
     * @param zhimaUserCnt 待设置的属性芝麻免押金用户的值
     */
    public void setZhimaUserCnt(Integer zhimaUserCnt) {
        this.zhimaUserCnt = zhimaUserCnt;
    }

    /**
     * 获取属性芝麻免押金用户<br>
     * 含义:芝麻免押金用户<br>
     * @return 属性芝麻免押金用户的值
     */
    public Integer getZhimaUserCnt() {
        return zhimaUserCnt;
    }

    /**
     * 设置属性支付宝充值押金方式的用户数<br>
     * 含义:支付宝充值押金方式的用户数<br>
     * @param alipayUserCnt 待设置的属性支付宝充值押金方式的用户数的值
     */
    public void setAlipayUserCnt(Integer alipayUserCnt) {
        this.alipayUserCnt = alipayUserCnt;
    }

    /**
     * 获取属性支付宝充值押金方式的用户数<br>
     * 含义:支付宝充值押金方式的用户数<br>
     * @return 属性支付宝充值押金方式的用户数的值
     */
    public Integer getAlipayUserCnt() {
        return alipayUserCnt;
    }

    /**
     * 设置属性微信用户数<br>
     * 含义:微信用户数<br>
     * @param wxUserCnt 待设置的属性微信用户数的值
     */
    public void setWxUserCnt(Integer wxUserCnt) {
        this.wxUserCnt = wxUserCnt;
    }

    /**
     * 获取属性微信用户数<br>
     * 含义:微信用户数<br>
     * @return 属性微信用户数的值
     */
    public Integer getWxUserCnt() {
        return wxUserCnt;
    }

    /**
     * 设置属性addTime<br>
     * @param addTime 待设置的属性addTime的值
     */
    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    /**
     * 获取属性addTime<br>
     * @return 属性addTime的值
     */
    public Date getAddTime() {
        return addTime;
    }

    /**
     * 设置属性统计的日期<br>
     * 含义:统计的日期<br>
     * @param statisticDate 待设置的属性统计的日期的值
     */
    public void setStatisticDate(Date statisticDate) {
        this.statisticDate = statisticDate;
    }

    /**
     * 获取属性统计的日期<br>
     * 含义:统计的日期<br>
     * @return 属性统计的日期的值
     */
    public Date getStatisticDate() {
        return statisticDate;
    }

    /**
     * 设置属性扣款失败数<br>
     * 含义:扣款失败数<br>
     * @param rentPayFailCnt 待设置的属性扣款失败数的值
     */
    public void setRentPayFailCnt(Integer rentPayFailCnt) {
        this.rentPayFailCnt = rentPayFailCnt;
    }

    /**
     * 获取属性扣款失败数<br>
     * 含义:扣款失败数<br>
     * @return 属性扣款失败数的值
     */
    public Integer getRentPayFailCnt() {
        return rentPayFailCnt;
    }



    /**
     * 比较两个对象在逻辑上是否相等
     * @see java.lang.Object#equals(java.lang.Object)
     */
    public boolean equals(Object other) {
        if (this == other) {
            return true;
        }
        if (!(other instanceof AlipayZhimaStatisticModelBase)) {
            return false;
        }

        final AlipayZhimaStatisticModelBase otherModel = (AlipayZhimaStatisticModelBase) other;
        if (getId()!=null && !getId().equals(otherModel.getId())) {
            return false;
        }
        return true;
    }

    public Float getRentPayFailMoney() {
		return rentPayFailMoney;
	}

	public void setRentPayFailMoney(Float rentPayFailMoney) {
		this.rentPayFailMoney = rentPayFailMoney;
	}

	/**
     * 根据主键生成HashCode
     * @see java.lang.Object#hashCode()
     */
    public int hashCode() {
        StringBuffer buffer = new StringBuffer();
        buffer.append('|').append(id);
        return buffer.toString().hashCode();
    }
}
